package socrates.mobile;

import android.app.ListActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import socrates.dto.ClaseDTO;
import socrates.dto.HorarioDTO;
import socrates.ws.WSHorario;

public class AsA extends ListActivity {

	private List<HorarioDTO> ListaHoras = null;
	private int g;
	
		private class Tira {

		public String hinicio;
		public String hfin;
		public String extra;

		public Tira(String hinicio, String hfin, String extra) {
			this.hinicio = hinicio;
			this.hfin = hfin;
			this.extra = extra;
		}
	}
	private Tira[] horitas = new Tira[17];

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.notacursos);

		ArrayList<String> HORA = new ArrayList<String>();

		ListaHoras = (new WSHorario("http://www.upcferiaexpoti2011.com/SocratesMobile/Service.svc/Horario/", 1,
						"20111010", "20111016")).obtener_horario();

		g = getIntent().getExtras().getInt("d");

		ArrayList<ClaseDTO> claseDIA = new ArrayList<ClaseDTO>();

		for (HorarioDTO a : ListaHoras) {
			if (a.getCodigo_dia() == g) {
				for (ClaseDTO e : a.getObjClase()) {
					claseDIA.add(e);
				}
			}
		}

		int hinicio = 7;
		for (int i = 0; i < horitas.length; i++) {
			ClaseDTO clasedia = null;

			for (ClaseDTO d : claseDIA) {
				if (Integer.parseInt(d.getHora_Inicio().toString().substring(11, 13)) == hinicio) {
					clasedia = d;
					break;
				}
			}

			if (clasedia == null) {
				horitas[i] = new Tira(hinicio + ":00", (hinicio + 1) + ":00", "");
				hinicio++;
			} else {
				horitas[i] = new Tira(
								hinicio + ":00",
								(hinicio + 1) + ":00",
								clasedia.CursoNombre + "\n" + clasedia.getSeccion() + "\n"
								+ clasedia.getSede() + " - " + clasedia.getSalon());
				
				int hfin = Integer.parseInt(clasedia.getHora_Fin().toString().substring(11, 13));

				for (int j = 1; j < hfin - hinicio; j++) {
					i++;
					hinicio++;
					horitas[i] = new Tira(
									hinicio + ":00",
									(hinicio + 1) + ":00",
									clasedia.CursoNombre + "\n" + clasedia.getSeccion() + "\n" +
									clasedia.getSede() + " - " + clasedia.getSalon());
				}
				i--;
			}
		}


		for (Tira t : horitas) {
			StringBuilder sb = new StringBuilder();

			sb.append(t.hinicio).
							append(" - ").
							append(t.hfin).
							append("\n").
							append(t.extra);

			HORA.add(sb.toString());
		}

		setListAdapter(new ArrayAdapter<String>(this, R.layout.horita,
						HORA));

		TextView tv = (TextView) findViewById(R.id.titulo);
		tv.setText("Horario");

		registerForContextMenu(getListView());
	}

	@Override
	protected void onListItemClick(ListView l, View v, int p, long id) {
		super.onListItemClick(l, v, p, id);
		Intent i = new Intent("HOA", Uri.EMPTY, this, HoraCurso.class);
		for (HorarioDTO a : ListaHoras) {
			if (a.getCodigo_dia() == g) {
				ClaseDTO e = a.getObjClase().get(p);
				i.putExtra("o", e);
				startActivity(i);
				Toast.makeText(getApplicationContext(),
								((TextView) v).getText(), Toast.LENGTH_SHORT).show();
				break;
			}
		}
	}
}